package com.xs.common.domain.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xs.common.annotation.Excel;
import com.xs.common.core.domain.BaseEntity;

/**
 * 航班信息对象 flights
 * 
 * @author
 * @date 2024-06-14
 */
public class Flights extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 航班ID，主键，自增 */
    private Long flightId;

    /** 航空公司ID */
    @Excel(name = "航空公司ID")
    private Long airlineId;

    /** 航班号 */
    @Excel(name = "航班号")
    private String flightNumber;

    /** 出发机场ID */
    @Excel(name = "出发机场ID")
    private Long departureAirportId;

    /** 到达机场ID */
    @Excel(name = "到达机场ID")
    private Long arrivalAirportId;

    /** 出发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date departureTime;

    /** 到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalTime;

    /** 飞机类型ID */
    @Excel(name = "飞机类型ID")
    private Long aircraftType;

    /** 航班状态 */
    @Excel(name = "航班状态")
    private Long aircraftStatus;

    /** max票数 */
    @Excel(name = "座位数")
    private Long availableSeats;

    public void setFlightId(Long flightId) 
    {
        this.flightId = flightId;
    }

    public Long getFlightId() 
    {
        return flightId;
    }
    public void setAirlineId(Long airlineId) 
    {
        this.airlineId = airlineId;
    }

    public Long getAirlineId() 
    {
        return airlineId;
    }
    public void setFlightNumber(String flightNumber) 
    {
        this.flightNumber = flightNumber;
    }

    public String getFlightNumber() 
    {
        return flightNumber;
    }
    public void setDepartureAirportId(Long departureAirportId) 
    {
        this.departureAirportId = departureAirportId;
    }

    public Long getDepartureAirportId() 
    {
        return departureAirportId;
    }
    public void setArrivalAirportId(Long arrivalAirportId) 
    {
        this.arrivalAirportId = arrivalAirportId;
    }

    public Long getArrivalAirportId() 
    {
        return arrivalAirportId;
    }
    public void setDepartureTime(Date departureTime) 
    {
        this.departureTime = departureTime;
    }

    public Date getDepartureTime() 
    {
        return departureTime;
    }
    public void setArrivalTime(Date arrivalTime) 
    {
        this.arrivalTime = arrivalTime;
    }

    public Date getArrivalTime() 
    {
        return arrivalTime;
    }
    public void setAircraftType(Long aircraftType) 
    {
        this.aircraftType = aircraftType;
    }

    public Long getAircraftType() 
    {
        return aircraftType;
    }
    public void setAircraftStatus(Long aircraftStatus) 
    {
        this.aircraftStatus = aircraftStatus;
    }

    public Long getAircraftStatus() 
    {
        return aircraftStatus;
    }
    public void setAvailableSeats(Long availableSeats) 
    {
        this.availableSeats = availableSeats;
    }

    public Long getAvailableSeats() 
    {
        return availableSeats;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("flightId", getFlightId())
            .append("airlineId", getAirlineId())
            .append("flightNumber", getFlightNumber())
            .append("departureAirportId", getDepartureAirportId())
            .append("arrivalAirportId", getArrivalAirportId())
            .append("departureTime", getDepartureTime())
            .append("arrivalTime", getArrivalTime())
            .append("aircraftType", getAircraftType())
            .append("aircraftStatus", getAircraftStatus())
            .append("availableSeats", getAvailableSeats())
            .toString();
    }
}
